
/**
* @Title: Producer.java
* @Package com.leetone
* @Description: 【】
* @date 2018年9月1日 下午3:28:58
* @version V1.0
* @Company: 上海未泰信息技术有限公司
* @author:[谭磊][leetone123@163.com]
*/

package com.leetone;

import java.util.Random;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.TransferQueue;

/**
* @ClassName: Producer
* @Description: 【模拟生产者，测试TransferQueue】
* @date 2018年9月1日 下午3:28:58
* @Company: 上海未泰信息技术有限公司
* @author:[谭磊][leetone123@163.com]
*/

public class Producer implements Runnable{
	private final TransferQueue<String> queue;
	public Producer(TransferQueue<String> queue) {
		this.queue = queue;
	}
	private String produce() {
		return " your lucky number "+(new Random().nextInt(100));
	}
	
	@Override
	public void run() {
		try {
			while(true) {
				if(queue.hasWaitingConsumer()) {
					queue.transfer(produce());
				}
				//生产者睡眠1s，可以看出程序的执行过程
//				TimeUnit.SECONDS.sleep(1);
			}
		} catch (InterruptedException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

}
